﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Crosland.Automotriz.Logic;
using Crosland.Automotriz.Core ;
using Crosland.Automotriz.Entidad;

namespace Crosland.Automotriz.Facade.Interface
{
    public interface iFacadeProcesarABC
    {
         //List<TD_MARCA> ListarMarcaActivo();

        IEnumerable<Object> listar_th_procesoabc_cab();
     
        List<TH_PROCESOABC_DET> listar(int num_proc);
        IEnumerable<Object> ListT_mae_proceso_abc_correo();
        bool procesar_ABC(int ID_ORG_VTA, string PERI_VENTA_INI, string PERI_VENTA_FIN, string VI_ABC_DESDE_HASTA_VEN, string VI_ABC_DESDE_HASTA_CAN, string COD_USUARIO, int ANIO, int MES, int MESES_N, int MESES_O);

        bool update_tipo_Abc(int nro_proceso);
        bool deleteTh_proceso_abc_det(int nro_proceso);
        bool deleteTh_proceso_abc_cab(int nro_proceso);
        List<procesoABC> listTh_Procesarabc_Det(int nro_proceso, String idMarca, string desGrupo);
        int UltimoAnio_th_procesarAbc_cab();
        int UltimoMes_th_procesarAbc_cab(int anio);
        int? ValidaProcesoxmes(int anio, int mes);
        List<Globales.ListaProcesoABCEtiqueta> lista_etiquetas();
        IEnumerable<Object> ListarArticulosEspecificos();
        IEnumerable<Object> listar_th_procesoabc_cab_detalle(int idCab);
        List<TD_CANTIDADES_ABC> TotalABCValorizado(int idCab, String idMarca, string desGrupo);
        List<TD_CANTIDADES_ABC> TotalABCCantidades(int idCab, String idMarca, string desGrupo);
        IEnumerable<Object> ListarTipo(int id_inventario_cab);
        IEnumerable<Object> ListarMarca();
        bool AnularProcesoABC(int idCab);
        List<TD_GRUPO_ARTICULO_EN> listaGrupoArticulo(int id_cab, String Des_sup);
        List<TD_MARCA_EN> listaMarcaPorIdGrupoArticulo(int id_cab, String id_grupo_Articulos);
   
    }
}
